package org.hang.util;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

//分页对象：easyui只需两个属性，total(总数),datas（分页数据）就能实现分页
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PageList<T> {//设为泛型，谁调用就传什么类型的值
    private long total = 0L; //设置默认返回值0
    private List<T> rows = new ArrayList<>(); //设置默认返回值为一个空集合

    public long getTotal() {
        return total;
    }

    public void setTotal(long total) {
        this.total = total;
    }

    public List<T> getRows() {
        return rows;
    }

    public void setRows(List<T> rows) {
        this.rows = rows;
    }

    @Override
    public String toString() {
        return "PageList{" +
                "total=" + total +
                ", rows=" + rows +
                '}';
    }

    //将通过聚合查询 查出来的数据封装成对象，并存入map集合中 返回
    private Map<String,Object> map = new HashMap<>();

    //提供有参构造方法，方便测试
    public PageList(long total, List<T> rows) {
       this.total = total;
       this.rows = rows;
    }


    //除了有参构造方法，还需要提供一个无参构造方法
//    public PageList() {
//    }
}
